<?php
// +----------------------------------------------------------------------
// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013-2018 http://www.thinkcmf.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Powerless < wzxaini9@gmail.com>
// +----------------------------------------------------------------------
namespace user\index\controller;

use cmf\controller\UserBaseController;
//use think\Validate;
//use common\user\model\UserModel;

class RegisterController extends UserBaseController
{

    /**
     * 前台用户注册
     */
    public function index()
    {
        $redirect = $this->request->post("redirect");
        if (empty($redirect)) {
            $redirect = $this->request->server('HTTP_REFERER');
        } else {
            $redirect = base64_decode($redirect);
        }
        session('login_http_referer', $redirect);

        if (cmf_is_user_login()) {
            return redirect($this->request->root() . '/');
        } else {
            return $this->fetch(":register");
        }
    }

    /**
     * 前台用户注册提交
     */
    public function doRegister()
    {
        if ($this->request->isPost()) {
            $request = $this->request;
            $user = new \common\user\service\PostService();
            $result = $user->Register($request);
            if ($result === FALSE) {
                $this->error($user->getError());
            } else {
                $sessionLoginHttpReferer = session('login_http_referer');
                $redirect = empty($sessionLoginHttpReferer) ? cmf_get_root() . '/' : $sessionLoginHttpReferer;
                $this->success('注册成功', $redirect);
            }
        }



//        if ($this->request->isPost()) {
//            $rules = [
//                'captcha'  => 'require',
//                'code'     => 'require',
//                'password' => 'require|min:6|max:32',
//
//            ];
//
//            $isOpenRegistration = cmf_is_open_registration();
//
//            if ($isOpenRegistration) {
//                unset($rules['code']);
//            }
//
//            $validate = new Validate($rules);
//            $validate->message([
//                'code.require'     => '验证码不能为空',
//                'password.require' => '密码不能为空',
//                'password.max'     => '密码不能超过32个字符',
//                'password.min'     => '密码不能小于6个字符',
//                'captcha.require'  => '验证码不能为空',
//            ]);
//
//            $data = $this->request->post();
//            if (!$validate->check($data)) {
//                $this->error($validate->getError());
//            }
//
//            $captchaId = empty($data['_captcha_id']) ? '' : $data['_captcha_id'];
//            if (!cmf_captcha_check($data['captcha'], $captchaId)) {
//                $this->error('验证码错误');
//            }
//
//            if (!$isOpenRegistration) {
//                $errMsg = cmf_check_verification_code($data['username'], $data['code']);
//                if (!empty($errMsg)) {
//                    $this->error($errMsg);
//                }
//            }
//
//            $register          = new UserModel();
//            $user['user_pass'] = $data['password'];
//            if (Validate::is($data['username'], 'email')) {
//                $user['user_email'] = $data['username'];
//                $log                = $register->register($user,3);
//            } else if (cmf_check_mobile($data['username'])) {
//                $user['mobile'] = $data['username'];
//                $log            = $register->register($user,2);
//            } else {
//                $log = 2;
//            }
//            $sessionLoginHttpReferer = session('login_http_referer');
//            $redirect                = empty($sessionLoginHttpReferer) ? cmf_get_root() . '/' : $sessionLoginHttpReferer;
//            switch ($log) {
//                case 0:
//                    $this->success('注册成功', $redirect);
//                    break;
//                case 1:
//                    $this->error("您的账户已注册过");
//                    break;
//                case 2:
//                    $this->error("您输入的账号格式错误");
//                    break;
//                default :
//                    $this->error('未受理的请求');
//            }
//
//        } else {
//            $this->error("请求错误");
//        }

    }
}